| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Classes | Enumerations
nkDebug Namespace Reference

Encompasses all API of component NilkinsDebug. More...

## Classes
class | ConsoleOutputFormatter
| Implementation of a console friendly output formatting. More...
class | CpuDetector
| Utility class allowing to get information on the CPU. More...
struct | CpuInformation
| Holds general information about a CPU. More...
class | DefaultTestObserver
| Default implementation of a test run observer. More...
class | FunctionSet
| A function set holding testing functions. More...
class | LogManager
| Responsible for logging all messages from the component. By registering a nkLog::Logger inside, it is possible to listen to all messages logged. More...
class | NunitOutputFormatter
| Implementation formatting test results in nUnit 3. More...
class | OutputFormatter
| Base class for test's output formatting. More...
class | OutputTarget
| Allows to customize the output target of test results. More...
class | RegisteredTestClass
| Holds informations about a registered test class. More...
struct | SimdInformation
| Holds instruction set information. More...
class | SystemDetector
| Utility class allowing to get information on the system. More...
class | TestClass
| The test enabling class, allowing registration within the UnitTester. More...
class | TestClassObserverInformation
| Information provided during a TestClass run. More...
class | TestFunction
| Encapsulates a function registered for testing. More...
class | TestFunctionObserverInformation
| Information provided during a function run. More...
class | TestObserver
| Base for observer classes allowing to get notifications from a test run. More...
class | TestRunException
| An exception raised when a test fails during an execution. More...
class | TestRunParameters
| Parameters allowing to drive a test run sequence. More...
class | TestRunResult
| Holds informations about a test execution result. More...
class | TestStackLevel
| Holds information about a stack level. More...
class | TestUtils
| Utilities to write tests. More...
class | UnitTester
| Core of the component's testing capabilities. More...

## Enumerations
enum | CPU_VENDOR { CPU_VENDOR::UNKNOWN = 0, CPU_VENDOR::AMD, CPU_VENDOR::INTEL }
| Lists CPU vendors that can be detected. More...
enum | CPU_ARCHITECTURE { CPU_ARCHITECTURE::UNKNOWN = 0, CPU_ARCHITECTURE::X_64, CPU_ARCHITECTURE::ARM, CPU_ARCHITECTURE::ARM_64 }
| Lists CPU architectures that can be detected. More...
enum | SIMD_VERSION { SIMD_VERSION::NO_SUPPORT = 0, SIMD_VERSION::SSE, SIMD_VERSION::SSE_2, SIMD_VERSION::SSE_3, SIMD_VERSION::SSE_4_1, SIMD_VERSION::SSE_4_2 }
| Lists SIMD instruction set versions that can be detected and reported. More...
enum | AVX_VERSION { AVX_VERSION::NO_SUPPORT = 0, AVX_VERSION::AVX, AVX_VERSION::AVX_2 }
| Lists AVX instruction set versions that can be detected and reported. More...
enum | SYSTEM_LABEL { SYSTEM_LABEL::UNKNOWN = 0, SYSTEM_LABEL::WINDOWS, SYSTEM_LABEL::WASM }
| Provides a list of detectable system labels. More...
enum | SYSTEM_VERSION { SYSTEM_VERSION::UNKNOWN = 0, SYSTEM_VERSION::WINDOWS_10 }
| Provides a list of detectable system versions. More...
enum | OUTPUT_TARGET_KIND { OUTPUT_TARGET_KIND::LOG_MANAGER = 0, OUTPUT_TARGET_KIND::FILE }
| Lists possible output targets within an OutputTarget object. More...

## Detailed Description

Encompasses all API of component NilkinsDebug.

This component provides utility to help in testing and debugging applications.

It offers different capabilities, among which :

- Understanding which system a program is ran on
- Getting the system capabilities
- Unit testing

These tools can be leveraged to build safer applications.

## Enumeration Type Documentation

## ◆ CPU_VENDOR

enum nkDebug::CPU_VENDOR
| strong

Lists CPU vendors that can be detected.

Enumerator
UNKNOWN | Unknown vendor.
AMD | AMD CPU.
INTEL | Intel CPU.

## ◆ CPU_ARCHITECTURE

enum nkDebug::CPU_ARCHITECTURE
| strong

Lists CPU architectures that can be detected.

Enumerator
UNKNOWN | Unknown architecture.
X_64 | AMD64 (64bits) architecture.
ARM | ARM architecture.
ARM_64 | ARM64 architecture.

## ◆ SIMD_VERSION

enum nkDebug::SIMD_VERSION
| strong

Lists SIMD instruction set versions that can be detected and reported.

Enumerator
NO_SUPPORT | No SSE support.
SSE | Supports SSE.
SSE_2 | Supports SSE2.
SSE_3 | Supports SSE3.
SSE_4_1 | Supports SSE4.1.
SSE_4_2 | Supports SSE4.2.

## ◆ AVX_VERSION

enum nkDebug::AVX_VERSION
| strong

Lists AVX instruction set versions that can be detected and reported.

Enumerator
NO_SUPPORT | No AVX support.
AVX | Supports AVX.
AVX_2 | Supports AVX2.

## ◆ SYSTEM_LABEL

enum nkDebug::SYSTEM_LABEL
| strong

Provides a list of detectable system labels.

Enumerator
UNKNOWN | Unknown label.
WINDOWS | Windows.
WASM | Web assembly.

## ◆ SYSTEM_VERSION

enum nkDebug::SYSTEM_VERSION
| strong

Provides a list of detectable system versions.

Enumerator
UNKNOWN | Unknown system version.
WINDOWS_10 | Windows 10.

## ◆ OUTPUT_TARGET_KIND

enum nkDebug::OUTPUT_TARGET_KIND
| strong

Lists possible output targets within an OutputTarget object.

Enumerator
LOG_MANAGER | Outputs to the component's LogManager.
FILE | Outputs to a file.